package cn.lijiajia3515.cairo.system.modules.dictionary;

import cn.lijiajia3515.cairo.core.page.AbstractPage;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import lombok.experimental.SuperBuilder;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.util.Set;

@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)

@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder(toBuilder = true)
public class FindDictionaryParam extends AbstractPage<FindDictionaryParam> {
	private String keyword;

	@Valid
	private Set<Dictionary> items;

	@Data
	@Accessors(chain = true)
	@NoArgsConstructor
	@AllArgsConstructor
	@SuperBuilder(toBuilder = true)
	public static class Dictionary {
		@NotNull
		private String id;
		private Set<Object> itemIds;
		private Set<Object> itemValues;
	}
}
